package com.macro.mall.service;

import com.macro.mall.dto.PmsProductAttributeParam;
import com.macro.mall.dto.ProductAttrInfo;
import com.macro.mall.model.PmsProductAttribute;
import java.util.List;
import org.springframework.transaction.annotation.Transactional;

/** 商品属性管理Service Created by macro on 2018/4/26. */
public interface PmsProductAttributeService {
  /**
   * 根据分类ID和类型分页获取商品属性
   *
   * @param cid 分类id
   * @param type 0->规格；1->参数
   */
  List<PmsProductAttribute> getList(Long cid, Integer type, Integer pageSize, Integer pageNum);

  /** 添加商品属性 */
  @Transactional
  int create(PmsProductAttributeParam pmsProductAttributeParam);

  /** 修改商品属性 */
  int update(Long id, PmsProductAttributeParam productAttributeParam);

  /** 获取单个商品属性信息 */
  PmsProductAttribute getItem(Long id);

  /** 批量删除商品属性 */
  @Transactional
  int delete(List<Long> ids);

  /** 获取商品分类对应属性列表 */
  List<ProductAttrInfo> getProductAttrInfo(Long productCategoryId);
}
